package com.kantboot.user.account.service;

import com.kantboot.user.account.domain.dto.UserAccountSendVerificationCodeDTO;
import com.kantboot.user.account.domain.entity.UserAccount;

/**
 * 用户账户绑定服务
 */
public interface IUserAccountBindService {

    /**
     * 跳过绑定
     */
    void skipBind();

    /**
     * 发送绑定验证码
     * @param userAccountSendVerificationCodeDTO 发送验证码的DTO
     */
    void sendBindVerificationCode(UserAccountSendVerificationCodeDTO userAccountSendVerificationCodeDTO);

    /**
     * 根据手机号和验证码绑定
     * @param phoneAreaCode 手机区号
     * @param phone 手机号
     * @param verificationCode 验证码
     */
    UserAccount bindByPhoneAndVerificationCode(String phoneAreaCode, String phone, String verificationCode);

    /**
     * 根据邮箱和验证码绑定
     * @param email 邮箱
     * @param verificationCode 验证码
     */
    UserAccount bindByEmailAndVerificationCode(String email, String verificationCode);


}
